﻿#region License statement
// NJamb, a specification and delta-specification DSL
// Copyright (c) 2010-2011, Mark Knell
// Published under the MIT License; all other rights reserved
#endregion

#region using...
using System;
using System.Collections.Generic;
using NJamb.Specifications;
#endregion

namespace NJamb.Parser.SpecificationBuilders.SubjectHas.Simple.Enumerable.Quantifiers
{
    public class HasSome<TSubject, TItem, TSpecifies> : EnumerableQuantifiedHas<TSubject, TItem, TSpecifies>
        where TSubject : class, IEnumerable<TItem>
        where TSpecifies : class, ISpecification
    {
        public HasSome(ICollaboratingSpecificationBuilder<TSubject, TSpecifies> specificationBuilder)
            : base(specificationBuilder) {}

        protected override int Count
        {
            get { return 0; }
        }
        protected override Func<int, bool> CountPredicate
        {
            get { return x => x > 0; }
        }
        protected override string Qualifier
        {
            get { return "some"; }
        }
    }
}
